<?php
/**
 * <https://y.st./>
 * Copyright © 2019 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'Learning Journal',
	'<{subtitle}>' => 'CS 3306: Databases 2',
	'<{copyright year}>' => '2019',
	'takedown' => '2017-11-01',
	'<{body}>' => <<<END
<section id="Unit1">
	<h2>Unit 1</h2>
	<p>
		The learning journal assignment for the week asks us where databases are used in our own lives, meaning we should talk from our own experience, not use references.
		However, we&apos;re also told to include citations, which requires that we not discuss what&apos;s going on in our own lives, but instead get our information from another source.
		As you can see, these two instructions are contradictory to one another and following them is mutually exclusive.
		At first, I considered discussing the database locations covered by the book but filtering out the ones that don&apos;t have a presence in my life.
		I would then have a source to cite, yet what I write would still apply to my life as requested.
		For example, one area databases are mentioned as being used is in keeping track of telephone calls made, generating monthly bills for telephone service, and keeping track of balances on prepaid telephone cards.
		I don&apos;t have telephone service though.
		I live telephone free, and it&apos;s fantastic.
		I highly recommend it.
		Another purpose for which databases are said to be used is for aeroplane flight schedules.
		I don&apos;t fly anywhere though.
		Both of these highly-prevalent databases would be omitted from discussion if I were to filter what the textbook covered through the lens of relevancy to my own life.
		That seems more like an oversight than an aid to learning, though.
		With that in mind, I&apos;ll discuss where databases can be found using citations, regardless of whether said databases have a place in my own life.
	</p>
	<p>
		Financial institutions use databases to store accounts, loans, and transaction information <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
		The textbook mentions banks, but all of this applies to credit unions as well.
		Additionally, the textbook mentions storing credit card transactions - a subset of transactions in general - in databases, as well as generating monthly bills using said databases <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
		Reservations and schedules can be stored in databases.
		The textbook specifically mentions that airlines do this <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>, but it applies to other fields as well.
		For example, if you make an appointment with a medical professional, there&apos;s a good chance they keep track of said appointment via a database.
		I know every medical professional I can remember dealing with does this.
		For that matter, the account information mentioned as being used by banks also applies to a wide array of other businesses, each of which keeps an account with your name on it, including your doctors&apos; office.
		Universities keep accounts for students as well, which include information on registered and past courses in addition to grades.
		As mentioned above, telephone companies keep records on their customers as well.
		They track calls made, calls taken, and current (and often past) account balances.
		As can easily be predicted, they use this data for generating their monthly bills.
		They also use databases to store information about the status of their own network <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
		Stocks and bonds are dealt with via databases as well <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
		These are intangible concepts that really can&apos;t exist outside some sort of representation, such as a database.
		Many businesses of all sectors store customer information (when they can get their grubby mitts on it) as well as transactional information <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
		Factories and warehouses use databases to track inventories, as well as information about products such as supply chains and orders.
		Employee information tends to be stored in databases too.
		This includes mostly information needed for generating pay cheques, such as salaries, wages, and hours worked, but also includes information on employee benefits, if any <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
	</p>
	<p>
		In addition to databases being widely present in the world, they&apos;re also interacted with by nearly everyone in first-world countries.
		$a[ATM]s allow a user to make transactions without requiring a live teller to interact with the database on their behalf <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
		For that matter, many types of transactions within an account (such as moving money between sub-accounts) can also be done via a Web interface.
		For that matter, all sorts of database interactions occur over the Web.
		Even noxious tracking of your browsing habits done by companies so they can more-effectively pester you with relevant advertisements is an interaction between you and databases <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>, albeit an unwanted interaction.
		(I recommend installing <a href="https://www.eff.org/privacybadger">Privacy Badger</a>, from the $a[EFF].)
		Likewise, those annoying automated telephone systems where you hit all the numbered keys to perform different tasks are database interfaces as well <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
	</p>
	<p>
		Basically, what it comes down to is this: organisations use databases to do database things.
		So to understand where databases are used, we need to understand what databases are good at, so we can know what &quot;database things&quot; are.
		When data is being gathered, it&apos;s usually getting stored in a database.
		Likewise, when data needs to be updatable, the data gets put in a database.
		The alternative (besides pen and paper or monolithic plain text files that have to be searched by hand; both of which technically qualify as databases, just not what we traditionally think of as databases these days) is to hard-code the data into the program.
		That&apos;s not feasible when data needs to be updatable.
		As for when data needs to be gathered, it&apos;s outright impossible in most cases.
		To add data to a system using hard-coding, you need a programmer on duty.
		Keeping a programmer on-duty at all times can be expensive, not to mention that such hard-coding of the data becomes tedious very quickly.
		The programmer&apos;s probably just going to program you a database and throw away the hard-coding.
		Databases allow for ever-changing data without the need to reprogram the system each time something is altered.
	</p>
	<div class="APA_references">
		<h3>References:</h3>
		<p>
			Silberschatz-Korth-Sudarshan. (2001). <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">Database System Concepts, Fourth Edition</a>. Retrieved from <code>https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf</code>
		</p>
	</div>
</section>
<section id="Unit2">
	<h2>Unit 2</h2>
	<p>
		The focus of this week&apos;s learning journal assignment is Microsoft-based backup and recovery software.
		I&apos;m confused as to why the qualifier though.
		Why does it need to be Microsoft-based?
		There&apos;s plenty of backup and recovery software that has nothing to do with Microsoft.
		Backup and recovery isn&apos;t a Microsoft-specific issue.
		There&apos;s no value in pretending this is a Microsoft-specific topic.
		And that&apos;s just the thing.
		The assignment asks us to talk about one we&apos;ve used in our own lives.
		I&apos;ve always found Windows to be insufferable, so I&apos;ve never used it long enough to even need to back anything up.
		I used to be an OS X user until I found Linux, though I always performed backups on OS X by hand.
		The only backup and recovery software I&apos;ve ever used has been on Linux.
		Déjà Dup was the one I used first.
		It allowed for automated, periodic, incremental backups, which was nice, and had a graphical interface.
		More recently, I&apos;ve had experience with <code>rsync</code>, a command line utility that allows for easy backup of files to another drive or (when combiled with other tools) across a networks.
		I have absolutely zero experience with any Microsoft-based backup utility of any kind, so I can&apos;t discuss my experience with any Microsoft-based backup utility.
		And I don&apos;t have access to a Windows system to experiment with just for the for the purposes of this assignment.
		My only choice is to instead discuss my experience with a Linux-based backup/restore utility.
	</p>
	<p>
		(It&apos;s worth noting that the learning journal assignment says we can discuss a Microsoft-based backup/restore utility from &quot;one of the websites&quot;, but it doesn&apos;t even tell us what websites it&apos;s even referring to.
		The only assigned reading material for the week was in the textbook hosted on the university&apos;s own website, which didn&apos;t mention Windows backup/restore options and didn&apos;t mention other websites.)
	</p>
	<p>
		As I said, I got my start with backups with Déjà Dup.
		I had a home server at the time, so I was able to use Déjà Dup to schedule automated backups so I never had to worry about forgetting to periodically back up all my data.
		I found though that in order to avoid having to back up modified files in their entirety, Déjà Dup stored backups each in their own file, rather than as directory subtrees as one might expect.
		This made it so I couldn&apos;t really go through old copies of my data outside of Déjà Dup.
		I also had no easy way to delete old backups that I no longer needed, because the newer backups were incremental and depended on the data present in the old backups.
		Déjà Dup can delete older backups if you configure it to, but I&apos;m not comfortable with my data getting erased without manual decision.
		Overall, it just wasn&apos;t a good solution for my use case.
	</p>
	<p>
		As mentioned previously, I&apos;ve also use <code>rsync</code> for backing up files.
		I had an account on a server that allowed me only $a[SFTP] access.
		I used $a[SSHFS] to mount the remote partition to my local file system over $a[SFTP], then used <code>rsync</code> to copy my files over to the mounted partition.
		The convenient thing about using <code>rsync</code> for this was the <code>--update</code> flag.
		It allowed me to only send over the new files.
		On that particular server, I didn&apos;t keep copies of older backups, so I only needed to transfer over files that were new or had been modified.
		There was a bit of an issue with timestamps too, or so the server administrator and I thought, so I ended up using the <code>--checksum</code> flag as well, so files were checked by checksum rather than by modification timestamp.
		I later found out that many of the files I was sending over were legitimately being modified without my knowledge by one of my scripts though, and modified the script to correct the behaviour.
		The <code>--delete</code> flag was rather useful too, as it prevented files from lingering in the backup once I&apos;d removed them locally.
	</p>
	<p>
		These days, I don&apos;t have a home Internet connection any more, so I&apos;m not able to get my home server set up properly.
		As such, automated backups aren&apos;t possible.
		Instead, I have to manually instantiate a backup every once in a while.
		I probably should use <code>rsync</code> for this, but instead, I just use a manual drag-and-drop to my external hard drive.
		It&apos;s just simpler.
	</p>
	<p>
		I&apos;m unclear on exactly what the learning journal assignment means by a Microsoft-based backup/restore utility.
		If it means software actually written by Microsoft, this is an incredibly narrow scope, and I&apos;m not sure how many students taking this course actually have experience with said software.
		However, if it&apos;s instead meant any backup/restore utility that runs on Microsoft&apos;s operating system, Microsoft Windows, <code>rsync</code> actually technically qualifies.
		I&apos;ve never used it on Windows, as I don&apos;t use Windows, but the <a href="https://rsync.samba.org/download.html"><code>rsync</code> website</a> says that <code>rsync</code> is available as a component in the <a href="https://cygwin.com/">Cygwin</a> suite.
		Cygwin is a collection of Linux command line tools that have been retooled to instead run natively on Windows.
		That means you can use <code>rsync</code> natively on Windows to back up and/or restore your files.
	</p>
</section>
<section id="Unit3">
	<h2>Unit 3</h2>
	<p>
		E-commerce is simply the carrying out of commerce-related activities over the Web <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">(Silberschatz-Korth-Sudarshan, 2001)</a>.
		I thought it was specifically the purchasing of things over the Web, but it&apos;s not.
		Getting information on products via the Web is also e-commerce.
		For example, when I recently looked into $a[laser] hair removal, that was e-commerce, even though I didn&apos;t buy it over the Web.
		I visited several companies&apos; websites for more information, but I pay using cash in person at my appointments.
		I don&apos;t use a whole lot of e-commerce websites though.
		For the most part, I try to save as much as I feasibly can, which means doing very little shopping, either online or offline.
		The main things I need to pay for are rent, electricity, and groceries, all of which I pay for in person, not online.
		I don&apos;t look into products much even, as I know I&apos;m not going to buy them.
		I don&apos;t even pay my tuition here at this university through the e-commerce portion of the website, due to the only way to do that being via PayPal.
		I always have horrid experiences when I try to use PayPal; PayPal has even locked up my credit card in the past.
		So instead, I mail a cashier&apos;s cheque to the school to pay tuition.
		It costs me a little extra, because I have to buy an envelope and postage, but it lets me bypass the PayPal requirement.
		That said, while I pay via post, I do get the services I pay for via the Web.
		So maybe that&apos;s still e-commerce?
		There are a few e-shops I use though, and every once in a while, I research a product I&apos;ve been thinking about getting.
		The main e-commerce website I use, though the one I use least often, would be the <a href="https://www.nic.st/"><code>st</code> domain name registry</a>.
		I dropped a pretty thick stack of cash there years ago in order to claim the domain <code>y.st.</code>, which I use for my <a href="https://y.st./en/">my website</a>.
		Now I go back every once in a while to pay upkeep on the domain, which is much cheaper.
		I looked into every $a[ccTLD] registry in existence before choosing the <code>st</code> registry, so that was e-commerce too, as I was doing research on a product (domains) that I wanted to buy.
		Another e-commerce website I use is <a href="https://bandcamp.com/">Bandcamp</a>.
		Bandcamp sells music, and has two features that makes me choose it over other music-selling websites.
		As you can tell from <a href="https://bandcamp.com/alex_yst">my account</a>, I&apos;ve bought a lot of music over the years.
		First and foremost, it allows artists to release their work under Creative Commons licenses.
		Most artists choose not to do this, but I simply choose not to buy music by those artists.
		I only by music under the {$a['CC BY']} and {$a['CC BY-SA']} licenses, so having a shop that sells it is really nice for me.
		Bandcamp also allows your purchases to be downloaded in a variety of formats, including several formats other sites don&apos;t offer.
		I like Ogg Vorbis format for use on my player, and I also download in the lossless $a[FLAC] format for the archive on my external hard drive.
		I might not ever use the lossless files, but it&apos;s nice to know I have them if I ever decide I want them for some reason.
		A long time ago, I also bought a huge bundle of music by Josh Woodward from <a href="https://www.joshwoodward.com/">Josh Woodward</a>&apos;s own website.
		Over two hundred {$a['CC BY']}-licensed songs for only \$40 $a[USD]!?
		Sign me up!
		He&apos;s really cut down on the number of purchasing options these days.
		It used to be that you could buy either his whole collection at a discounted rate, any individual album, and I think even any individual song.
		Now he only sells his collection as a whole.
		You can still download individual songs gratis though, and to get a single album, you can download each song from the album individually.
		Downloading songs without paying for them was always an option there though, even when he allowed purchasing single albums.
		I don&apos;t know why he doesn&apos;t allow such purchases any more.
		When I need to get my final exams proctored, I bike to a university in the next city over.
		There, they&apos;ve got a testing centre you can pay to have exams proctored in.
		I&apos;ve got to go there in person, but if I pay by credit card, they have me pay via their e-commerce website.
		This is my final proctored term though.
		I&apos;ll need to go there one last time to have my exam for this course and the other one I&apos;m taking right now proctored, but after that, I won&apos;t need a proctor any more and won&apos;t be going back to the testing centre&apos;s e-commerce website.
		I use other e-commerce websites on rare occasion, but none that are worth mentioning.
	</p>
	<div class="APA_references">
		<h3>References:</h3>
		<p>
			Silberschatz-Korth-Sudarshan. (2001). <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">Database System Concepts, Fourth Edition</a>. Retrieved from <code>https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf</code>
		</p>
	</div>
</section>
<section id="Unit4">
	<h2>Unit 4</h2>
	<p>
		The main access control method I interact with is the permission system on my computer&apos;s filesystem.
		I&apos;m allowed to edit my own files all I like, but I&apos;m unable to modify system files unless I use the <code>root</code> account to do so.
		Even though I&apos;m the only user on this computer (well, the only human user; the system has a plethora of user accounts that it uses for various purposes), it&apos;s very helpful to be locked out of modifying system files most of the time.
		I&apos;m on Debian these days, but I used to be an Ubuntu user.
		Back when I was on Ubuntu, I kept getting what I think were probably viruses.
		The system would just suddenly prompt me for the administrative password out of the blue.
		I think the viruses were trying to access system files, but because they were forced to run under my unprivileged account, they had to trick me into giving them access to the administrative account if they were to do any real damage.
		I never fell for it, and when that would happen, I would back up my data and reinstall the system, wiping out everything, including the virus.
		It was a heavy-handed approach, but it worked.
		The virus would be gone and I wouldn&apos;t see any further problems until I managed to get another virus.
		I&apos;m still not sure what I was doing to get the viruses in the first place though.
		When I switched to a better operating system though, Debian, the viruses left me alone for good.
		Debian and Ubuntu are pretty similar though, so I would have thought that they&apos;d be susceptible to the same viruses.
	</p>
	<p>
		Anyway, the $a[ext4] filesystem&apos;s access control is pretty simple an easy to understand.
		Each file, including directories, is tagged with both a username and a group name.
		There are then three permission levels for the file: the specific named user, everyone that isn&apos;t the specifically-named user but is in the named group, and everyone else.
		For each level, there are three permissions: read permission, write permission, and execute permission.
		If you don&apos;t have the required permission, you can&apos;t perform the action you&apos;d like to.
		For example, the viruses were probably trying to write to system files or add files to system directories, which would require the write permission.
		The system directories usually specify <code>root</code> as both the user and the group, and deny the write permission to everyone else.
		A lowly basic user account such as mine doesn&apos;t have the right permission to write to those files, so a virus running under my account doesn&apos;t have the authorisation to write to those files either.
	</p>
	<p>
		I also use an access control system with my computer&apos;s firewall.
		Only one user account on the entire system is allowed to access the network, and that user isn&apos;t me.
		Instead, it&apos;s the user account in which only my proxy software runs under.
		That means that if any of my software tries to make network requests that I don&apos;t know about without going through the proxy, those requests are blocked.
		There&apos;s simply no way around the proxy, which means no data gets leaked outside the proxy.
		Software that behaves itself and uses the proxy I&apos;ve specified is allowed to access the network, while misbehaving software that tries to route around the proxy doesn&apos;t get anywhere.
		This isn&apos;t a traditional use for access control, but it&apos;s been highly effective for my use case.
	</p>
	<p>
		It&apos;s also been claimed by our textbook that when you use a webpage that uses a database as a back end, you&apos;re using that database (Silberschatz-Korth-Sudarshan, 2001).
		Personally, I think this is a stretch.
		You&apos;re not the database user, as far as I&apos;m concerned, the people who set up the the page are the database users.
		By the book&apos;s definition though, I&apos;m also a user of the university&apos;s database.
		Semantics and technicalities aside, whether or not I&apos;m actually a user of the database, access control is still relevant to me.
		Rather than being applied to database accounts though, it&apos;s applied to website user accounts.
		For example, when I make a post at this school, I&apos;m able to edit it for up to five minutes.
		The access control allows me access to the edit feature for that specific period of time, but them locks me out of that feature.
		Furthermore, the site locks me out of editing the posts of others altogether.
		I&apos;m simply not allowed to edit the posts of my professors nor my classmates even within the five-minute span.
		But if I had to guess, I&apos;d say that <strong>*someone*</strong> is allowed to edit all the posts.
		In theory, there&apos;s some Web-based administrative account that&apos;s free to edit any content the user likes.
		(If not though, there&apos;s always the accounts in the database, and the administrative account <strong>*there*</strong> certainly can edit anything in the tables.)
	</p>
	<p>
		Another access control system I deal with is the one at my work.
		Different users are granted different permissions.
		The cash registers are connected to the computer system, and the base user level allows you to use a register that has been checked out to you.
		These users aren&apos;t allowed to perform cash drops or void orders though, for example.
		A while back, the head manager gave me the assistant manager group permission though, which among other things, allows the user to perform cash drops.
		I&apos;m not actually a head manager, but the head manager got tired of dropping what they were doing to go perform a cash drop whenever the registers would lock up and demand one, so they gave a few of us that they trust more than the rest the assistant manager group permission so we could perform our own drops and save them some time.
		I don&apos;t have many details on how this permission system works, but it locks options that we&apos;re not allowed to use.
		With the assistant manager permission though, I&apos;m able to access just about everything.
		I don&apos;t actually care enough to see what can be done though.
		On top of the regular stuff everyone can access, the only things I do are perform cash drops and void erroneous orders (for example, if a customer changes their mind about buying something after I&apos;ve already finalised the order), both of which would have to be done anyway, but I&apos;d otherwise have to go get a manager to do for me.
	</p>
	<div class="APA_references">
		<h3>References:</h3>
		<p>
			Silberschatz-Korth-Sudarshan. (2001). <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">Database System Concepts, Fourth Edition</a>. Retrieved from <code>https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf</code>
		</p>
	</div>
</section>
<section id="Unit5">
	<h2>Unit 5</h2>
	<h3>Lost data</h3>
	<p>
		We&apos;ve been asked to discuss a time in which we really needed to restore files to our computers, but were unsuccessful.
		How about a time I needed to restore <strong>*all*</strong> my files to my computer ans was unsuccessful?
		Several years ago, near the end of February in 2015, I backed all my laptop&apos;s data up to my home server, as I used to do fairly regularly.
		I then wiped my laptop and reinstalled the operating system.
		I forget why I did it.
		Perhaps a new Debian version came out.
		I always wipe my computer and perform a clean install.
		Or perhaps there was some problem I needed to fix.
		A few years ago, Debian was more prone to braking than it is today.
		It used to be that if I installed the wrong packages, it&apos;d mess up my configuration pretty badly, and I had no idea how to fix it the right way.
		So I&apos;d reinstall the system to get it back to a known-working state.
		In any case, it was fine to erase all my files.
		I&apos;d just backed them up to the server, right?
		I was too lazy to restore the files right away this time though.
		So I waited a few days and went without them.
	</p>
	<p>
		When I went to restore the files, I found the server&apos;s hard drive had failed.
		With the drive no longer functioning, the files were gone!
		I tried several things to get the files off the drive, but with the hardware broken, the computer couldn&apos;t recognise the drive, let alone run data-recovery software on it.
		So what did I do?
		Well, I had to rebuild my digital life from scratch.
		I&apos;d lost my website, which was self-hosted at the time.
		I&apos;d lost all my files, including all the code I&apos;d written for various projects.
		I&apos;d lost all my photographs, and all the graphics I&apos;d painstakingly drawn.
		Probably the most important file I lost was my encrypted password database.
		Without that, I couldn&apos;t access any of my accounts anywhere.
		That means I lost my email account, my Web accounts, and most painfully, my domain accounts.
		I lost every last domain name I had.
		I only had three or four, but two of them were vital to my Web presence.
		I had to start from scratch and start anew.
		There was nothing else I could do.
		I got a new domain on 2015-03-07, an immediately used it to set up my new email account.
		I got my credit cards voided and reissued so I wouldn&apos;t be paying for domains I couldn&apos;t access.
		And I began starting new accounts to replace the ones I&apos;d forever lost access to.
		I&apos;ve been much more careful about backups since then, and have my most important files backed up to places besides my main backup drive (in addition to having them backed up on my main backup drive), just in case.
	</p>
	<h3>The week&apos;s activities</h3>
	<p>
		The reading material for this week was a webpage converted into a $a[PDF].
		It seemed like wasted effort to set that up.
		I mean, we could have been given the link to the webpage, so there was no need to convert it into a $a[PDF].
		It would also allow us to cite the original source, as we&apos;d know what $a[URI] to include in the citation, instead of citing the $a[PDF] on the school&apos;s copy.
		And finally, Firefox doesn&apos;t handle $a[PDF]s as well as it handles webpages, seeing as it was built to be a Web browser, not a $a[PDF] reader.
		It won&apos;t read $a[PDF]s at all when using the settings I have to use to prevent the university&apos;s website from eating my coursework before I can submit it, but because the $a[PDF] is behind a login wall, I can&apos;t pull it up in my other browser instance.
		I&apos;ve got to click the link, find out it&apos;s a $a[PDF] by the recognisable blank page with a frame around it that $a[PDF]s look like in Firefox, then back up right click the link to save the target, as control + &quot;s&quot; doesn&apos;t work on the plank $a[PDF] page.
		Honestly, it&apos;s not a huge amount of effort.
		However, when you realise that the school put in the time and effort to pointlessly convert the page from an easy-to-use format to a more-difficult-to-use format, you realise that the only fruit of their efforts is that the information is a bit more difficult for students to access.
		And it looks like the page was converted by someone using a much-wider monitor than me, so the text comes through all scrunched and painful to read on my smaller monitor.
		If we&apos;d instead been given a link to the original webpage, the browser would wrap the text where needed, but that&apos;s not how it works with $a[PDF]s.
		Whoever decided to do this really didn&apos;t think it out very well.
	</p>
	<p>
		After jumping through the necessary hoops to read the chapter provided, we see that it&apos;s a chapter from a book on Windows 2000 Server.
		I have to wonder: does anyone still use that?
		Linux dominates the server world, but ignoring that, Windows 2000 Server is from nineteen years ago.
		You&apos;d think people would have upgraded to something more modern.
		Even if you love Windows, I&apos;m pretty sure there are server counterparts to Windows 7 (Windows 7 Server, perhaps?), Windows 8 (Windows 8 Server, maybe?), Windows 8.1 (Windows 8.1 Server?), and/or Windows 10 (Windows 10 Server?).
		I mean, I don&apos;t follow Microsoft&apos;s products as I don&apos;t use them, so I&apos;m unsure of the exact names of their modern server line&apos;s newest arrivals, but surely they&apos;ve been keeping up production of said server line.
		And if they haven&apos;t, then it should be clear to most people, even Microsoft fans, that it&apos;s time to switch to something still in active development.
	</p>
	<p>
		Most of the information presented was fairly obvious.
		I was surprised at how relevant it still was, given that this textbook was designed with a highly-outdated operating system in mind.
		The fact was that a lot of it was software-agnostic, which allowed it to retain its usefulness despite its age.
		One thing that stuck out to me though was the need for multiple copies of the backup, not because one or more might get damaged, but so the data on multiple machines can be restored at the same time (Stanek, 1999).
		Five backup options were also listed, though those were specific to Windows 2000 Server, using a special file flag set by the server, so they&apos;re probably not relevant now.
		It&apos;s mentioned though that full backups should be performed weekly, which supplemental partial backups throughout the week.
		But also, either monthly or quarterly, you should make extended backups that include files not included in your main backups (Stanek, 1999).
		It sounds like the &quot;full backups&quot; aren&apos;t necessarily actually full backups.
		If it was a full backup, there wouldn&apos;t be other files you need that aren&apos;t backed up.
		I would have thought that using tape drives to store data was a practice long gone by now, but that&apos;s what the discussion question is about this week, and there must be a reason for that.
		I&apos;m guessing it&apos;s old companies using legacy hardware, to be honest.
		It was hilarious to read the chapter claim you need to tell the operating system about how to use non-tape media such as disk drives by installing drivers though.
		These days, you&apos;d probably need to hunt down the drivers for tape drives, but disk drive drivers come pre-installed on modern systems.
		A lot has changed in the past twenty years.
		(I know I said Windows 2000 Server is from 2000, but the copyright on this document claims it to be from 1999.
		This chapter was written a full twenty years ago.)
	</p>
	<div class="APA_references">
		<h3>References:</h3>
		<p>
			Stanek, W. R. (1999). <a href="https://my.uopeople.edu/pluginfile.php/476020/mod_book/chapter/187042/MSDataBackupRec.pdf">Chapter 14: Data Backup and Recovery</a>. Retrieved from <code>https://my.uopeople.edu/pluginfile.php/476020/mod_book/chapter/187042/MSDataBackupRec.pdf</code>
		</p>
	</div>
</section>
<section id="Unit6">
	<h2>Unit 6</h2>
	<h3>Interacting with a database</h3>
	<p>
		The main database I interact with is this school&apos;s own database.
		There are a couple other databases I interact with a few times per week, but it&apos;s difficult to pinpoint where a transaction begins or ends with those databases.
		For example, I play a game called Minetest.
		It uses an SQLite database to store world data and another to store player data, but these databases seem to get saved every few seconds and I&apos;m not sure when the transactions occur or what is getting saved when such transactions are made.
		I&apos;ve also got a database I interact with at work, though I&apos;d prefer not to talk about work here at school.
	</p>
	<p>
		Here at the university, a great example of a transaction that I engaged in, or at least that I will have engaged in by the time you can read this, is the submission of this learning journal assignment.
		I don&apos;t know what sort of database the school uses, but seeing as the school uses $a[PHP], there&apos;s a decent chance it&apos;s something such as MySQL.
		In any case, when I submitted this assignment, a transaction was started.
		The system had to make one or more changes in the database, then commit the transaction, cementing those changes.
		For example, one database table holds this assignment submission itself.
		Perhaps another table holds a list of which assignments I&apos;ve submitted, and that&apos;d need to be updated as well.
		If one of these two (or more) tables was updated but they weren&apos;t <strong>*all*</strong> updated, it&apos;d leave the database in an inconsistent state.
		For example, there might be an assignment to grade, but the system thinks I never turned it in.
		Alternatively, the system might say I&apos;d turned in my work, but yet there might be no assignment to grade.
		Transactions keep such inconsistent states from occurring.
	</p>
	<h3>Thoughts on the reading material</h3>
	<p>
		It seems a bit surprising that some transaction-processing monitoring servers tend to use a separate process for each client.
		It&apos;s contrary to the usual implementation of a client/server model, where one server process handles many clients.
		By using separate server processes, you have separate servers (software servers, not hardware servers), they&apos;re just all running on the same machine.
		The textbook also brings up some good points about wasted resources in that setup, including time wasted in context-switching and memory wasted by the multiple processes.
		Some transaction-processing monitoring servers do this right though, and instead use a single process for servicing all clients,  just like most servers in other areas (such as Web servers) usually do.
		Multiple threads are often used in this model, one for each client, but the textbook brings up that context-switching between threads has a lot less overhead than context-switching between threads (Silberschatz-Korth-Sudarshan, 2001).
	</p>
	<p>
		I was quite surprised to read that the familiar model had it flaws as well.
		A buggy application would infect the shared working environment, and distributed computing isn&apos;t really possible in this model.
		In particular, the model doesn&apos;t handle distributed databases well (Silberschatz-Korth-Sudarshan, 2001).
		A third model was introduced to deal with these problems.
		This model involves several servers (software, not hardware), and a shared router that routes traffic to them.
		The different clients are able interact with separate servers, but each server is accessed through the same routing process and the servers processes are shared somewhat.
		I&apos;m not sure how this setup deals with the problems of the initial setup though.
		It seems like the same as the first configuration we looked at, with the addition of a routing process.
		And actually, I&apos;m not sure how it addresses the problems of the second model either.
		The server processes in this model are shared, so you have the problem of a bug in one of the client applications tainting the shared workspace again.
		I guess fewer server processes are needed, so it&apos;s not as bad as the initial setup, but there isn&apos;t just a single server thread to get tainted, making it not as bad as the second setup.
		Still, given time, the buggy client application will likely interact with most if not all the server processes, so I don&apos;t think it provides much relief from the buggy application problem.
		After that, a model using multiple routers is briefly mentioned, and I&apos;m not sure what that model is attempting to solve.
	</p>
	<p>
		The textbook mentions the need to coordinate across special-use and legacy systems.
		I can see the need for that, as companies don&apos;t want to put in the money to have those systems overhauled and upgraded.
		It seems like a major pain though, and probably costs more in the long run to continue using and supporting the legacy systems.
		Workflows are pretty straightforward, so I don&apos;t really have any comments on the basic idea of them.
		The fact that a workflow can be made failure-atomic like a transaction is worth noting though.
		Just like transactions, such workflows have success states, failure states, and inconsistent states that they&apos;re not allowed remain in, though they&apos;re not called inconsistent states, but instead called nonacceptable termination states (Silberschatz-Korth-Sudarshan, 2001).
		The different types of deadlines mentioned in the section on real-time transaction systems was interesting.
		Hard deadlines and soft deadlines are something I already had a concept of, and would probably call by those names even.
		I already use the words &quot;hard&quot; and &quot;soft&quot; in that way with a lot of other things, such as hard and soft requirements.
		Firm deadlines were new to me though.
		Before reading that section, I would have lumped them in with hard deadlines.
		A hard deadline to me is a deadline that cannot be postponed; if you miss such a deadline, that&apos;s it.
		There&apos;s no reason to continue with the task.
		It makes sense to separate hard and firm deadlines into separate categories though.
		For hard deadlines, some failure may occur if the deadline is missed, while for a firm deadline, there&apos;s simply no value in continuing the task (Silberschatz-Korth-Sudarshan, 2001).
	</p>
	<div class="APA_references">
		<h3>References:</h3>
		<p>
			Silberschatz-Korth-Sudarshan. (2001). <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">Database System Concepts, Fourth Edition</a>. Retrieved from <code>https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf</code>
		</p>
	</div>
</section>
<section id="Unit7">
	<h2>Unit 7</h2>
	<h3>Thoughts on the reading material</h3>
	<p>
		I started reading the material for the week, and found the first few paragraphs to be way too familiar.
		Even the way things were phrased made me thing we&apos;d already read this in class.
		I went back through the old reading assignments, and found we had indeed read that chapter before; specifically, in <a href="https://y.st./en/coursework/CS3306/index.xhtml#Unit3">Unit 3</a>.
		However, it was only that one chapter that we&apos;d read.
		The other two chapters assigned this week were new to us.
		The textbook frames the storing of customer data to later mine as such a positive thing.
		But then as it explains what&apos;s stored, it makes it clear how creepy it is, even without meaning to.
		Credit card information (which includes actual customer names), credit history, annual income, address, age, educational background ...  (Silberschatz-Korth-Sudarshan, 2001)
		The credit card information may be necessary for processing a transaction, but keeping it on file beyond that is a creepy business practice.
		As for the rest of that information, most companies shouldn&apos;t even <strong>*come in contact*</strong> with that information, and the fact that they do go out of their way to get it and enter it into their databases is <strong>*incredibly*</strong> creepy.
		I&apos;ve noticed that businesses do sometimes try to get that information out of me though.
		I always initially try not to give it, and if they insist, I give them fake data.
		They don&apos;t need that information and they honestly shouldn&apos;t have it.
	</p>
	<p>
		I find it interesting that online analytical processing systems used to store their data in memory.
		$a[RAM] is a finite resource to a computer, and only available in a small quantity.
		If your data cube has a whole lot of data in it, that means you&apos;re going to be doing a lot of paging, swapping the data in virtual memory in and out of actual $a[RAM].
		It seems like a cumbersome and slow process.
		It also means that the data would be lost during a restart and need to be immediately recalculated.
		Some newer analytical processing systems a relational database is used instead.
		The data is stored on the hard drive, and the database software uses its clever optimisations to speed up the moving of the necessary data into $a[RAM] when used.
		There&apos;s still disk access clearly, but I think database software is more efficient about it than you get by paging entire blocks of memory in and out of $a[RAM].
		Other newer analytical processing systems take a hybrid approach, storing summaries in memory and the rest in a relational database (Silberschatz-Korth-Sudarshan, 2001).
		It works because you&apos;re not trying to store the entire data cube in memory, but instead only a small part of the data.
	</p>
	<p>
		When the textbook mentioned over-fitting of a decision tree to the data, it was really familiar.
		I couldn&apos;t remember whether we&apos;d covered over-fitting in this course or it was one I&apos;d taken previously.
		A bit later though, the book mentioned neural networks though.
		That&apos;s when I remembered for sure that it was another course.
		Specifically, we <a href="https://y.st./en/coursework/CS4407/Failed_neural_network~_evaluation.xhtml">worked with a neural network</a> in the course I&apos;d learned about over-fitting of models to data in, which means it would have been <span title="Data Mining and Machine Learning">CS 4407</span> in which I&apos;d learned about the concept.
		The other classification methods discussed afterwards were predictably familiar as well.
		The section on implementing the searching of a database full of documents was quite enlightening.
		It showed several pitfalls and difficulties in setting up such a search system for a database.
		It explains pretty well the likely reasons why the search options on those four websites we&apos;ve been using this term return such terrible results.
		For example, the part on automatically including the synonyms of words.
		Many of the documents I retrieved using those sites&apos; search options were not only completely irrelevant to what I&apos;d asked for, but didn&apos;t even contain the individual words I&apos;d entered.
		It was interesting to read why the letters in $a[UTC] are transposed from what we&apos;d expect.
		The acronym is based on the French words for the concept (Silberschatz-Korth-Sudarshan, 2001).
		It makes me wonder if it was the French who came up with a unified time to use globally.
	</p>
	<h3>Data warehouses</h3>
	<p>
		Data warehouses are places where data from several sources are brought together and stored using a single, unified schema.
		This makes accessing the data easy, as it&apos;s all in one place, and makes querying the data easy, as it&apos;s in a unified format.
		Businesses use these data warehouses for data mining, a technique in which they take the data they&apos;ve creepily gathered about their customers or users and use it to make business-related decisions.
		For example, they might try to figure out how much of a new product they want to start out with in a given market or what demographics they want to target with their advertising (Silberschatz-Korth-Sudarshan, 2001).
	</p>
	<p>
		Another important aspect of data warehouses is that they may store data longer than the sources they get data from.
		For example, source data may come from a factory or store front that only keeps their records for a limited period of time.
		People making business decisions may want access to data further back than that, as it&apos;ll help them spot trends.
		If a store only keeps track of sales from the past few months, it&apos;s not going to help find out what times of year certain products are wanted, or if a current decline in sales of a given product is simply a seasonal thing and not a permanent decline in interest in that product.
		It&apos;s also not going to help find if sales, on the whole, are up or down compared to previous years.
		A data warehouse can store all the information, which can be copied form the other locations before it gets deleted from said locations.
		By querying the warehouse instead of the live database, strain on the live database is reduced as well.
	</p>
	<div class="APA_references">
		<h3>References:</h3>
		<p>
			Silberschatz-Korth-Sudarshan. (2001). <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">Database System Concepts, Fourth Edition</a>. Retrieved from <code>https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf</code>
		</p>
	</div>
</section>
<section id="Unit8">
	<h2>Unit 8</h2>
	<h3>Client/server model</h3>
	<p>
		As the learning journal assignment this week states, in the client/server model, the server is much more powerful than the client.
		The assignment then asks if the client/server model is suitable for situations in which both machines have relatively equal computational resources.
	</p>
	<p>
		To answer this, we first have to ask ourselves <strong>*why*</strong> the clients and servers are the way they are.
		Is the client/server model still in use because of the huge difference in system resources?
		Absolutely not.
		Instead, servers are built with more resources <strong>*because*</strong> of the model.
		A server typically has to have a lot more resources to keep up, as it&apos;s dealing with so many clients.
		Each client only needs enough resources to handle its own transactions with the servers it deals with, and typically doesn&apos;t deal with many servers at a time.
		However, the server needs enough to handle all transactions with all the clients it deals with, and there can be hundreds if not thousands of clients interacting with a given server.
	</p>
	<p>
		The reason the client/server model is used is that one machine is able to act as the central authority for the resource.
		By &quot;resource&quot;, I don&apos;t mean processing power, $a[RAM], or anything like that, but instead the database, the website, or whatever it is that the client is trying to access.
		This single authority model works well for many types of applications.
		On the Web, a webmaster is able to host documents (such as webpage) where the rest of the world can retrieve them, for example.
		Clients that don&apos;t already have the documents are able to easily retrieve them.
		With a database, having all the data hosted on a single machine instead of having it distributed means that a client knows exactly which machine to ask for the data: the same machine it goes to for the rest of the data in that database.
	</p>
	<p>
		Our textbook brings up an interesting architecture: the data-server model (Silberschatz-Korth-Sudarshan, 2001).
		The most important thing to notice about this model is that it&apos;s got a server and one or more clients.
		That means it&apos;s not an alternative to the client/server model, but rather a subcategory of that model.
		In the data-server model, the client requests data from the server, and the server provides that data.
		But then, it&apos;s the client that processes the data, not the server.
		The client then sends back the changes it needs made in the database (Silberschatz-Korth-Sudarshan, 2001).
		This has a number of interesting implications.
		First, it&apos;s the client using more computational resources than the server.
		The server can thus conserve its resources to service more clients without needing as many total resources; it can be a weaker machine than it otherwise could be.
		Second, more bandwidth is needed, as much more data is being sent back and forth.
		And third, the client needs to know how to manipulate the data.
		The full data-manipulation logic rests with the client, not the server.
	</p>
	<p>
		For the context of this question though, a data-server setup isn&apos;t even necessarily the right choice.
		We know that the clients and the server in the presented scenario have nearly-equal resources, but we don&apos;t know anything about the connection between the machines.
		On anything but a very fast connection, the data-server model doesn&apos;t perform well (Silberschatz-Korth-Sudarshan, 2001).
		On a slow or mid-speed connection, having the server process the data will speed things up.
		There are other issues that become more of a problem when using the data-server model too, such as cache coherency and locking (Silberschatz-Korth-Sudarshan, 2001).
	</p>
	<h3>Advantages of cloud computing</h3>
	<p>
		Next, we&apos;re asked to discuss the advantages of cloud computing.
		My discussion of this topic should not be considered an endorcement by any means.
		In most cases, cloud computing has <strong>*severe disadvantages*</strong>, and I believe those disadvantages <strong>*vastly outweigh*</strong> the advantages cloud computing can offer.
		However, many advantages do exist, so I&apos;ll discuss a few of those below.
	</p>
	<p>
		One advantage is monetary savings (LevelCloud, 2015).
		You&apos;re not paying certain upkeep costs, such as electricity, cooling, and maintenance.
		At least, you&apos;re not paying for these things directly.
		Instead, you pay for them in the form of the fees your cloud provider charges you.
		Imagine though that you&apos;ve got a server on the premises, and you&apos;ve got to pay for these costs directly.
		You&apos;ve got to foot the whole bill.
		On the other hand, when you pay the cloud provider, they divide this cost amongst several subscribers.
		Several subscribers are using the resources of the same machine, so they each only pay a fraction of what it costs for upkeep of the machine.
		There is, of course, something to be noted here.
		The more cloud resources you use, the higher your bill and the less you save.
		There comes a point when it&apos;s cheaper to run your own machines.
		Take, for example, any large Internet mogul you can think of.
		It doesn&apos;t matter which one.
		There are several.
		I won&apos;t name any specific names.
		If they were to use cloud services themselves, provided by another company, they&apos;d probably be haemorrhaging money.
		The takeaway here is that if your resource usage is below some scale, the economics of bundling your resource usage with the resource usage of other companies all on the same machine makes cloud computing a money-saver.
		On the other hand, if you&apos;ve got enough computing and/or storage to keep several machines busy, you&apos;ll save more by running your own machines.
	</p>
	<p>
		One claimed advantage to cloud computing is reliability (LevelCloud, 2015).
		It&apos;s argued that clouds have better uptime than what you&apos;d have in-house.
		This though, is more a matter of cost savings again.
		You can provide your own reliability, redundancy, and things of that nature.
		It&apos;s just going to take more hardware, more upkeep, and more people.
		In other words, more money.
		For cloud companies, this is what they do.
		They bundle everything together to take advantage of the economics of scale, then pass that savings on to you.
		For example, they&apos;re got $a[IT] people standing by, ready to take care of problems that occur with their machines.
		With how many machines they&apos;ve got, that works out to being pretty cheap per machine that needs to be maintained.
		On the other hand, if you ran your own services in-house and wanted high reliability, you&apos;d need at least one $a[IT] person on staff even when nothing is going wrong.
		Per machine, your costs would be higher, simply because you&apos;re paying the same amount per $a[IT] person but they have less to do because you&apos;ve got fewer machines.
		Cloud computing is all about scale.
		Well, that and giving up control of your data.
	</p>
	<p>
		Using cloud computing instead of an in-house solution means there&apos;s less for your company to manage (LevelCloud, 2015).
		You don&apos;t need as much of an $a[IT] department.
		The cloud company has an $a[IT] department for you.
		Again, you can easily tie the advantages here back to the underlying theme of scale.
	</p>
	<p>
		Finally, there&apos;s quick deployment of new applications.
		You don&apos;t have to obtain new machines to handle the new things you have in the works before they can face the public, or even face your own company (LevelCloud, 2015).
		The cloud company has the machines on standby just waiting for your applications.
		Do you see how this ties back to the theme of scale again?
		If you had your own machines, you&apos;d have to have the maximum number of machines you ever needed at once, unless you sell off your machines when you don&apos;t need them any more, which would be more costly.
		On the other hand, the cloud company only needs as many machines as all its customers at once need.
		When you need more resources, another company likely needs fewer, and vice versa.
		On a scale as large as a cloud company&apos;s user base, there&apos;s much less fluctuation in resource usage, and the cloud company can keep its machines reasonably busy.
		Also along these lines, using cloud computing allows you to scale both up and down very quickly (Sauerwalt, n.d.).
	</p>
	<p>
		Some argue that $a[SaaSS] is a cloud benefit as well (Sauerwalt, n.d.), so I&apos;ll list it here.
		$a[SaaSS] is actually a very dangerous thing to get into though, and usually involves vendor lock-in and an obfuscation of what the platform does below the surface, making it hard to move to a better provider when you need to.
	</p>
	<p>
		Cloud computing has some crippling disadvantages, which I covered a few of in this week&apos;s discussion assignment.
		When it comes to advantages though, they can all be tied back to one underlying theme: scale.
		The economics of scale dictate that large quantities are cheaper per unit than small quantities.
		Cloud companies take advantage of that by gathering a large user base, then pass a part of that savings on to said users.
	</p>
	<div class="APA_references">
		<h3>References:</h3>
		<p>
			LevelCloud. (2015, March 31). <a href="https://www.levelcloud.net/why-levelcloud/cloud-education-center/advantages-and-disadvantages-of-cloud-computing/">Advantages and Disadvantages of Cloud Computing</a>. Retrieved from <code>https://www.levelcloud.net/why-levelcloud/cloud-education-center/advantages-and-disadvantages-of-cloud-computing/</code>
		</p>
		<p>
			Sauerwalt, R. (n.d.). <a href="https://www.ibm.com/cloud/learn/benefits-of-cloud-computing">Benefits of cloud computing | IBM</a>. Retrieved from <code>https://www.ibm.com/cloud/learn/benefits-of-cloud-computing</code>
		</p>
		<p>
			Silberschatz-Korth-Sudarshan. (2001). <a href="https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf">Database System Concepts, Fourth Edition</a>. Retrieved from <code>https://my.uopeople.edu/pluginfile.php/476000/mod_book/chapter/187010/Database%20System%20Concepts%204th%20Edition%20By%20Silberschatz-Korth-Sudarshan.pdf</code>
		</p>
	</div>
</section>
END
);
